package cn.csust.net2.manager.shared.service;

import java.util.List;
import java.util.Map;

import cn.csust.net2.manager.shared.exception.BeyondAuthorityException;
import cn.csust.net2.manager.shared.po.ResearchResult;
import cn.csust.net2.manager.shared.util.ServiceConstant;

import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath(value = ServiceConstant.MANAGER+ServiceConstant.SERVICE_NAME_RESEARCH_MANAGER)
public interface ResearchManagerService extends ResearchCommonService{
	public static final String STUDENTLIST = "studentList";
	public static final String NUMBERLIST  = "numberList";
//	
//	public static final String RESERACHID ="researchID";
//	/* 
//	 * @param config
//	 * @return
//	 * 
//	 */	
//	public PagingLoadResult<Research> findResearchsByPaging(PagingLoadConfig config);
//	/*
//	 * config 参数 “ResearchID” 
//	 * 返回此 titleID 的所有researchResult
//	 */
//	public PagingLoadResult<ResearchResult> findResearchResultsByPaging(PagingLoadConfig config);
//	
//	/*
//	 * 参数   reserachID
//	 */
//	public PagingLoadResult<ResearchTitle> findResearchTitlesByPaging(PagingLoadConfig config);
//	
//	/*
//	 * 参数   reserachTitleID
//	 */
//	public PagingLoadResult<ResearchAnswer> findResearchAnswersByPaging(PagingLoadConfig config);
//	
//	/*
//	 * config 参数 researchID 
//	 * studentList  此为Student 的list集
//	 * 存入 student_research 表中
//	 */
//	public void saveStudent_ResearchByPaging(PagingLoadConfig config);
//	
//	/*
//	 * config 参数 researchID
//	 * 返回 student_research 表中该id studentNumber 的集合
//	 */
//	public PagingLoadResult<Long> findStudent_ResearchByPaging(PagingLoadConfig config);
	
	public void saveResearchByPaging(PagingLoadConfig config)throws BeyondAuthorityException;
	
	public void  saveResearchStudentsByPaging(PagingLoadConfig config)throws BeyondAuthorityException;
	
	public List<Long> getResearchStudentNumberList(Long researchID)throws BeyondAuthorityException;
	
	public Map<Long , List<ResearchResult>> statisticsResearchResult(PagingLoadConfig config)throws BeyondAuthorityException;
	
	public Map<Long, Long> statisticsResearchResultPolls(PagingLoadConfig config)throws BeyondAuthorityException;
	
}
